Skip to content

feat: implement useRetryQueue hook with exponential backoff and local… - #32

Merged
elizabetheonoja-art merged 1 commit into
Utility-Protocol:mainfrom
frankosakwe:feat/implement-retry-queue
Jun 17, 2026
Merged

feat: implement useRetryQueue hook with exponential backoff and local…#32
elizabetheonoja-art merged 1 commit into
Utility-Protocol:mainfrom
frankosakwe:feat/implement-retry-queue

Conversation

@frankosakwe

@frankosakwe frankosakwe commented Jun 17, 2026

Copy link
Copy Markdown

…Storage persistence

Implemented transaction retry queue system for Soroban RPC with:

  • Transaction state management (pending -> submitted -> confirmed | failed)
  • Auto-retry with exponential backoff delays [1s, 5s, 15s, 30s, 60s]
  • localStorage persistence across browser reloads
  • Timer management with proper cleanup on unmount
  • Manual retry support with immediate re-submission
  • Configurable maxRetries (default 5)

Bug fixes:

  • Fixed stale closure bug in markFailed using setState callback
  • Added proper timer cleanup before scheduling new retries
  • Implemented localStorage serialization with SSR support

Testing:

  • Added 32 comprehensive unit tests with 100% pass rate
  • Configured Vitest with React Testing Library
  • All tests passing, no linting errors, TypeScript compilation successful

Documentation includes implementation guide, test results, and verification report.

closes #17

…Storage persistence

Implemented transaction retry queue system for Soroban RPC with:
- Transaction state management (pending -> submitted -> confirmed | failed)
- Auto-retry with exponential backoff delays [1s, 5s, 15s, 30s, 60s]
- localStorage persistence across browser reloads
- Timer management with proper cleanup on unmount
- Manual retry support with immediate re-submission
- Configurable maxRetries (default 5)

Bug fixes:
- Fixed stale closure bug in markFailed using setState callback
- Added proper timer cleanup before scheduling new retries
- Implemented localStorage serialization with SSR support

Testing:
- Added 32 comprehensive unit tests with 100% pass rate
- Configured Vitest with React Testing Library
- All tests passing, no linting errors, TypeScript compilation successful

Documentation includes implementation guide, test results, and verification report.
@elizabetheonoja-art
elizabetheonoja-art merged commit 37f7a33 into Utility-Protocol:main Jun 17, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Issue 18: Resilient On-Chain Transaction Re-Submission Broadcast Queues

2 participants